import {
  request
} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
//1. 用户上滑 滚动条触底 开始加载下一页数据
//     1.找到滚动条触底事件
//     2.判断还有没有下一页数据   (当前页码 <= 总页数)  总页数 = Math.ceil(总条数/页条数)
//     3.假如没有下一页数据，弹出提示
//     4.有下一页数据  就加载下一页数据
// 2.下拉刷新事件
//     1.在json文件中开启配置项
//     2.找到触发下拉刷新的事件
//     3.重置 数据 数组
//     4.重置 页码为1
//     5.数据重置成功，关闭效果

// pages/goods_list/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:[
      {
        id:0,
        value:"综合",
        isActive:true
      },
      {
        id:1,
        value:"销量",
        isActive:false
      },
      {
        id:2,
        value:"价格",
        isActive:false
      },
    ],
    goodsList:[]
  },
  // 接口要的参数
  QueryParams:{
    query:"",
    cid:"",
    // 当前页码
    pagenum:1,
    // 每页条数
    pagesize:10
  },
  // 总页数
  totalPages:'',

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 接受路由传过来的参数
    this.QueryParams.cid = options.cid||''
    this.QueryParams.query = options.query||''
    this.getGoodsList()
  },
  // 改变标题类名
  bindtabsItemChange(e){
    const {index} = e.detail
    const {tabs} = this.data
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false)
    this.setData({
      tabs
    })
  },
  // 获取商品列表的接口
  async getGoodsList(){
    const res = await request({url:'/goods/search',data:this.QueryParams})
    // 获取总条数
    const total = res.total
    // 计算总页数
    this.totalPages = Math.ceil(total/this.QueryParams.pagesize)
    this.setData({
      // 拼接数组
      goodsList:[...this.data.goodsList,...res.goods]
    })
    // 关闭下拉刷新的窗口(没有调用下拉刷新窗口，也不会报错)
    wx.stopPullDownRefresh()
  },
  // 滚动条触底事件
  onReachBottom(){
    // 判断还有没有下一页数据
    if(this.QueryParams.pagenum >= this.totalPages){
      // 没有下一页数据
      wx.showToast({
        title: '我也是有底线的！',
      })
    }else{
      // 有下一页数据 (当前页码+1，重新发送数据，数据请求回来：是对data中的数组进行拼接而不是替换！！！)
      this.QueryParams.pagenum++
      this.getGoodsList()
    }
  },
  // 下拉刷新事件
  onPullDownRefresh(){
    // 重置数组
    this.setData({
      goodsList:[]
    })
    // 重置页码
    this.QueryParams.pagenum = 1
    this.getGoodsList()
  }
})